Many process-related robotic applications have dependencies related to the Cartesian speed of a robot Tool Center Point (TCP) due to some process activity which takes place there. Typical examples of process-related robotic applications include painting, welding and sealant dispensing applications.
In the past, control environments based upon the commanded TCP speed value have been used to provide process rate and/or amplitude control. The commanded TPC speed value is the speed which results from processing the programmed TCP speed through the motion control system.
Due to a variety of factors, the actual TCP speed sometimes differs from the commanded speed, often causing undesirable process results. One such undesirable process result might be the dispensing of too much material such as paint or sealant.
Therefore, in order to minimize undesirable process results, attempts have been made to estimate the actual TCP speed. The estimated actual TCP speed could then be used in place of the commanded TCP speed within application control systems.
Some prior art devices, for example the GMFanuc Robotics Corporation R model H controller, have attempted to estimate the TCP speed based upon the scalar acceleration values along linear motion segments.
These attempts met with limited success under the strict requirement that deceleration must be completed before the next linear segment could be started. This requirement, however, is at variance with the actual practice of motion paths which contain smooth and continuous corners between consecutive motion segments, thus dictating that deceleration of the first segment is not complete at the time that the next segment is started.
Other methods have estimated the actual TCP speed based upon computations of the instantaneous TCP velocity. These methods have been based on either forward kinematics or Jacobian transformation. However, they tend to be computationally intensive and can only predict current or immediately following values. They cannot accurately predict the values of the TCP speed for arbitrary times into the future, which in some circumstances is desirable.
A related concern is that in practice, there is always some period of time which the process requires before it can respond to accommodate changes in its control parameters. This response time is referred to as the actuation delay time ("ADT") and can be as short as tens of milliseconds, or as long as hundreds of milliseconds.
Typically, the ADT is of a similar order of magnitude as the acceleration time of the robot. Consequently, using only the instantaneous TCP speed for the TCP speed estimation is not adequate in many instances to avoid undesirable results. For example, in an application following a sharp Cartesian corner with minimal deceleration, the complete deceleration/acceleration period which occurs at the corner could complete before the process could begin to respond to the changing TCP speed control parameter.
Some of the related prior art used single-axis velocity profile analysis to generate feedforward signals for independent axis servo control systems. However, this did not address multi-dimensional analysis and segment blending, nor the use of such control information for application process control. Additional prior art involved using external sensors (e.g. a stationary camera, a tool-mounted flow sensor) to measure and/or calibrate application process flow rate, but failed to consider the use of robot motion data.
Still other prior art used sensor means to monitor the TCP speed relative to a process applicator nozzle in order to adjust process flow rate accordingly. However, this art still is only capable of providing "instantaneous" data, and cannot provide predictions of future TCP motion.
U.S. Pat. No. 4,922,852 to Price discloses an apparatus for dispensing fluid materials. This invention uses a tool speed motion sensor to determine the speed of the tool across the workpiece. The determined speed is then used in feedback to directly adjust the dispensing rate.
U.S. Pat. No. 4,947,336 to Froyd discloses a multiple independent axis motion control system. This invention uses feedforward velocity components to control the velocity of multiple independent actuators. An overall Cartesian speed estimate is not produced as each of the velocity components is handled separately.
U.S. Pat. No. 5,049,796 to Seraji discloses a controller for robotic manipulators. This invention uses a model-based feedforward controller which contains any known part of the manipulator dynamics that can be used for on-line control as a portion of an electrical robotic control system. The method and system of Seraji are limited to control of robot manipulators and fail to consider external process control. In addition, the invention of Seraji does not provide any output signals for such external process control.
In summary, the prior art methods and systems have the following shortcomings:
1) They are computationally intensive. PA1 2) They do not provide accurate speed estimates incorporating variable specified times, in particular the prediction of the TCP speed for arbitrary times into the future. PA1 b 3) They fail to provide the TCP speed information--based upon planned robot motion data--to external application control systems. PA1 4) They often require additional external equipment to generate the application process control signal thus adding cost to the overall robot system.
In view of the prior art, there is a need to develop an efficient and accurate means of providing actual future TCP speed estimates that overcomes the above shortcomings.